/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package stubs.negocio;
import interfaces.IGerenciaFuncionario;
import entidades.Funcionario;
import erros.ErroCadastramento;
import erros.ErroRecuperacao;
/**
 * stub simula a controladora de gerencia funcionario.
 * @author thiagostuckert
 * @author daniel
 */

public class StubCntrGerenciaFuncionario implements IGerenciaFuncionario {

    /**
     * Matricula utilizada para identificar funcionario que sera cadastrado com
     * sucesso no banco.
     */
    private static final String MATRICULA_SUCESSO = "12345";
   /**
    * Cadastra o funcionário representado pelo objeto funcionario.
    * @param funcionario funcionario a ser cadastrado.
    * @throws ErroCadastramento erro lançado caso a ação
    * não obtenha sucesso.
    */
    @Override
    public void cadastrarFuncionario(final Funcionario funcionario)
            throws ErroCadastramento{
        if(!funcionario.getMatricula().equals(MATRICULA_SUCESSO)){
            throw new ErroCadastramento("Erro no cadastramento do " +
                    "funcionario.");
        }
    }
    /**
     * Recupera o funcionario representado pelo objeto funcionario.
     * @param funcionario funcionario a ser recuperado.
     * @return Funcionario funcionario que estava armazenado no banco.
     * @throws ErroRecuperacao erro lançado caso a ação não obtenha sucesso.
     */
    @Override
    public Funcionario recuperarFuncionario(Funcionario funcionario)
            throws ErroRecuperacao{
        if(!funcionario.getMatricula().equals(MATRICULA_SUCESSO)){
            throw new ErroRecuperacao("Erro no login do funcionario.");
        } else {
            funcionario.setNome("Thiago Stuckert");
            funcionario.setTelefone("6181721121");
            return funcionario;
        }
    }
}
